This invention relates generally to the field of computer systems. More particularly, an interim execution context identifier is provided for identifying computer operations prior to assignment or availability of a normal execution context identifier.
Execution context identifiers, session identifiers and other types of identifiers are often used to help identify and track computer operations. Web servers, application servers, data servers and other types of computer servers often perform operations on behalf of multiple clients concurrently. Thus, on one server there may exist multiple contexts of execution of a server process at one time, with various activities taking place in different contexts.
After a server receives a service request from a client, the server may associate an execution context identifier (ECID) with the request. Thereafter, as various operations or events are performed on behalf of the request, those events may be logged and the ECID may be recorded to associate the event with the request. The resulting log allows the flow of execution or processing of the request to be tracked and analyzed. Illustratively, if an error occurs during some server processing, the log may be used to locate, analyze or rectify the error.
An ECID assigned to a client request by one server process may be passed to a subsequent server process for additional processing on behalf of the request. However, the second process cannot identify and use the ECID until the request is received and parsed. If an error occurs prior to acquisition of the ECID (e.g., while the request is being received) by the second process, the ECID cannot be logged. Any subsequent attempt to track or diagnose the error will fail, as it cannot be correlated with any specific context or request.